Lecture : Advanced Dynamic Programming [sp'''] Advanced Dynamic Programming .. Saving Space: Divide and Conquer
نویسنده
چکیده
Dynamic programming is a powerful technique for efficiently solving recursive problems, but it’s hardly the end of the story. In many cases, once we have a basic dynamic programming algorithm in place, we can make further improvements to bring down the running time or the space usage. We saw one example in the Fibonacci number algorithm. Buried inside the naïve iterative Fibonacci algorithm is a recursive problem—computing a power of a matrix—that can be solved more efficiently by dynamic programming techniques—in this case, repeated squaring.
منابع مشابه
6 Advanced Dynamic Programming 6.1 Saving Space: Divide and Conquer Released under a Creative Commons Attribution-noncommercial-sharealike 3.0 License
Dynamic programming is a powerful technique for efficiently solving recursive problems, but it’s hardly the end of the story. In many cases, once we have a basic dynamic programming algorithm in place, we can make further improvements to bring down the running time or the space usage. We saw one example in the Fibonacci number algorithm. Buried inside the naïve iterative Fibonacci algorithm is ...
متن کامل6 Advanced Dynamic Programming 6.1 Saving Space: Divide and Conquer
Dynamic programming is a powerful technique for efficiently solving recursive problems, but it’s hardly the end of the story. In many cases, once we have a basic dynamic programming algorithm in place, we can make further improvements to bring down the running time or the space usage. We saw one example in the Fibonacci number algorithm. Buried inside the naïve iterative Fibonacci algorithm is ...
متن کاملImproving the Divide-and-Conquer Approach to Sum-of-Pairs Multiple Sequence Alignment
We consider the problem of multiple sequence alignment: given k sequences of length at most n and a certain scoring function, find an alignment that minimizes the corresponding “sum of pairs” distance score. We generalize the divide-and-conquer technique described in [1,2], and present new ideas on how to use efficient search strategies for saving computer memory and accelerating the procedure ...
متن کاملDynamic Multithreaded Algorithms A Minicourse on Dynamic Multithreaded Algorithms
This tutorial teaches dynamic multithreaded algorithms using a Cilk-like [11, 8, 10] model. The material was taught in the MIT undergraduate class 6.046 Introduction to Algorithms as two 80-minute lectures. The style of the lecture notes follows that of the textbook by Cormen, Leiserson, Rivest, and Stein [7], but the pseudocode from that textbook has been “Cilkified” to allow it to describe mu...
متن کاملA dynamic programming approach for solving nonlinear knapsack problems
Nonlinear Knapsack Problems (NKP) are the alternative formulation for the multiple-choice knapsack problems. A powerful approach for solving NKP is dynamic programming which may obtain the global op-timal solution even in the case of discrete solution space for these problems. Despite the power of this solu-tion approach, it computationally performs very slowly when the solution space of the pr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015